package com.habdqn.studentmanager.service;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.habdqn.studentmanager.bean.Bean;
import com.habdqn.studentmanager.bean.ajax.Page;
import com.habdqn.studentmanager.exception.StudentException;

/**
 * @author Fan
 * 
 * 2017年7月24日
 * 
 */
public abstract class BaseService {
    
    protected static final Logger logger = LoggerFactory.getLogger(BaseService.class);
    
    /**
     * 分页
     * @param page
     */
    protected void startPage(Page page) {
        if (null != page) {
            PageHelper.startPage(page.getPageNum(), page.getPageSize());
        }
    }
    
    /**
     * 构建PageInfo
     * @param list
     * @return
     */
    protected <T extends Bean> PageInfo<T> buildPageInfo(List<T> list) {
        return new PageInfo<T>(list);
    }
    
    /**
     * 简化异常创建
     * @param content
     * @param e
     * @return 返回一个业务异常
     */
    protected RuntimeException buildException(String content, Exception e) {
        return new StudentException(content, e);
    }
    
    /**
     * 简化异常创建
     * @param content
     * @return 返回一个业务异常
     */
    protected RuntimeException buildException(String content) {
        return buildException(content, null);
    }
}
